﻿function store() {
    //almacena el tipo de funcion del select
    var selectTipoFuncion = document.getElementById("tipoFuncion");
    localStorage.tipoFuncion = selectTipoFuncion.value;

    //almacena los limites y el incremento
    var rangoSup = document.getElementById("rangoSup");
    localStorage.rangoSup = rangoSup.value;

    var inputRangoInf = document.getElementById("rangoInf");
    localStorage.rangoInf = inputRangoInf.value;

    var inputIncremento = document.getElementById("txtIncrementos");
    localStorage.txtIncrementos = inputIncremento.value;

    var tipoFuncion = document.getElementById("tipoFuncion");

    //si el tipo de la funcion es igual a 1 quiere decir que es una funcion lineal, en caso contrario es cuadratica    
    if (tipoFuncion.value == 1) {
        //Seran valores de una funcion lineal los que seran guardados
        var inputTxtX = document.getElementById("txtx");
        localStorage.txtx = inputTxtX.value;

        var inputTxtNum = document.getElementById("txtnum");
        localStorage.txtnum = inputTxtNum.value;

    } else {
        //Seran valores de una funcion cuadratica los que seran guardados
        var inputTxtX2 = document.getElementById("txtx2");
        localStorage.txtx2 = inputTxtX2.value;

        var inputTxtX = document.getElementById("txtx");
        localStorage.txtx = inputTxtX.value;

        var inputTxtNum = document.getElementById("txtnum");
        localStorage.txtnum = inputTxtNum.value;
    }

    alert("Se han guardado los valores en el localStorage");
}

function clearData() {
    localStorage.clear();
    //para limpiar el contenido de la seccion de datos donde se encuentran los campos para los coeficientes
    setTipoFuncion(3);
    //para limpiar el incremento y los rangos
    document.valoresFuncion.txtIncrementos.value = 0
    document.valoresFuncion.rangoSup.value = 0;
    document.valoresFuncion.rangoInf.value = 0;
    //para restablecer los label de los limites
    setLimiteSup();
    setLimiteInf();

    alert("Han sido borrados los datos del localstorage");
}

function recuperarStorage() {
    //recuperar el storage para el select del tipo de funcion
    document.valoresFuncion.tipoFuncion.value = localStorage.tipoFuncion;

    //recuperar el storage para la seccion del rango xy
    document.valoresFuncion.txtIncrementos.value = localStorage.txtIncrementos;
    document.valoresFuncion.rangoSup.value = localStorage.rangoSup;
    document.valoresFuncion.rangoInf.value = localStorage.rangoInf;

    //se asigna llama al metodo onchange para que actualice el label del limite superior
    setLimiteSup();
    //se asigna llama al metodo onchange para que actualice el label del limite inferior
    setLimiteInf();

    //alert("tipo de funcion recuperada" + localStorage.tipoFuncion);
    setTipoFuncion(localStorage.tipoFuncion);

    //recuperara del storage los valores para x segun el tipo de funcion que ha sido almacenada
    var tipoFuncion = document.getElementById("tipoFuncion");
    if (localStorage.tipoFuncion == 1) {
        //recuperar el storage para la seccion datos con los campos de
        //valor de x, valor del numero, funcion lineal
        //alert("funcion vale 1");
        document.valoresFuncion.txtx.value = localStorage.txtx;
        document.valoresFuncion.txtnum.value = localStorage.txtnum;

        alert("Se han recuperado todos los datos de la funcion Lineal");
    } else {
        //recuperar el storage para la seccion datos con los campos de
        //valores de la funcion cuadratica x2, valor de x, valor del numero    
        document.valoresFuncion.txtx2.value = localStorage.txtx2;
        document.valoresFuncion.txtx.value = localStorage.txtx;
        document.valoresFuncion.txtnum.value = localStorage.txtnum;

        alert("Se han recuperado todos los datos de la funcion Cuadratica");
    }

}